DXVA是DirectX Video Acceleration的简称,中文译为视频硬件加速。DXVA是微软公司专门定制的视频加速规范,它共有两个版本,分别是DXVA 1.0和DXVA 2.0。DXVA规范不仅仅是在视频播放过程中的解码计算规范,其还有与视频后期处理息息相关,例如反交错、色彩空间转换或图像缩放等等。对于视频播放时CPU利用率影响最大的,通常也是我们最关心的,非视频解码莫属,尤其是 HD视频的解码(硬件解码),对于CPU较弱的系统来说,让显卡来完成解码是不二之选。
当前市面上几乎所有的显卡都具备一定的视频硬件加速能力。微软公司为此专门制订了DXVA规范(包括DXVA 1.0和DXVA 2.0两个版本)。但使用硬件加速,在视频播放的总体流程上也受到诸多限制,尤其是后期处理部分。因此对于追求后期效果的高清发烧友,宁可放弃硬件加速,当然代价可能是需要升级CPU甚至整个系统。 DXVA规范中,不同的显卡的视频硬件加速能力有差异,有的显卡支持的加速项目较多,有的显卡支持的较少,从显卡的发展历程来看,视频硬件加速能力总体是逐渐增强的,但在同一代显卡中,高端显卡的视频硬件加速能力不见得比低端显卡的强,甚至有些时候还会弱些。 对于高清发烧友来说,可以接触到的高清视频源的编码格式主要有MPEG2,H.264和WMV和VC-1四种。DXVA 1.0规范里最早定义了MPEG2和WMV硬件解码能力,在DXVA 2.0里又增加了H.264和VC-1硬件解码能力。
视频硬件加速有什么功能?
视频解码对于我们普通用户来说可以分成两类,一类是以CPU为核心的软件解码,另一类就是如今主流的以GPU为核心的硬件加速解码。二者各有利弊。
软件解码好处是,第三方软件解码器齐全通用性高,使用CPU来作为解码核心能够满足几乎所有的视频解码。而坏处也显而易见,在一台CPU性能较弱的平台上,尤其是在看高码率的高清视频时,CPU由于线程数和自身架构导致的效能上不足,视频画面卡、顿、慢成为不可避免的结局。
硬件加速解码好处是,如今主流显卡都能够很好的支持主流视频格式解码,尤其是在图形核心采用统一架构后,利用图形核心的并行架构设计,在H.264和VC-1格式高清视频上有绝佳的支持效果。弊端是,硬件解码受限视频播放总体流程,尤其是后期处理部分。所以很多追求最终画质效果的高清发烧友,宁可放弃硬件(GPU)加速解码的几倍性能,而选择基于CPU的软件解码。